package myProject.nim;

import java.util.Random;
import java.util.Scanner;

public class Rule {
    private final Scanner input;
    private final Random random;
    private final String NAME_REGEX = "^[a-zA-Z\u4E00-\u9Fa5]{2,}$";
    Rule(){
        input = new Scanner(System.in);
        random = new Random();
    }

    /**
     * 拿走石子
     * @param storeArray 石子队列
     * @param idx  拿走第几个石子堆
     * @param number 拿去多少石子
     * @return 该堆石子是否被拿完
     */
    public boolean isRemoveStore(int[] storeArray,int idx,int number,int length){
        idx--;
        storeArray[idx] -= number;
        if(storeArray[idx] == 0){
            if (length - idx >= 0)
                System.arraycopy(storeArray, idx + 1, storeArray, idx, length - idx);
            return true;
        }
        return false;
    }

    /**
     * 获得一个输入
     * @return string
     */
    public String getInput(){
        return input.next();
    }

    /**
     * 产生一个范围类的随机数
     * @param min 最小值
     * @param max 最大值
     * @return random
     */
    public int getRandomInt(int min,int max){
        return random.nextInt(max - min) + min;
    }

    /**
     * 获取XXX姓名
     * @param title 成员
     * @return 姓名
     */
    public String getInputName(String title){
        String name = null;
        System.out.print("请输入"+title+"昵称：");
        do{
            name = input.next();
            if(name.matches(NAME_REGEX)){
                break;
            }
            System.out.print("昵称为两个及以上汉字或字母组成，请重新输入：");
        }while(true);
        return name;
    }
    //input.close();

}
